<?php 


/**
 * Função responsável pelo CRUD de registro de inscrições dos servidores.
 */
class Remanejamento_Model_Cronograma
{ 
    
    /**
     * Vai até a tabela de cronograma e busca todos os campos.
     * -- @todo reorganizar tabela.
     * 
     * @return {array} [$result]
     */
    public function listarCronograma() 
    {
        $tblCronograma = new Remanejamento_Model_DbTable_Remanejamento_Cronogramas();
        $slcCronograma = $tblCronograma->select();
        $slcCronograma->from(array('cron' => 'cronogramas'), array('*'), 'remanejamento')
                      ->where('ano_remanejamento = ?', date("Y"))
                      ->order('cod_cronograma DESC')
                      ->limit('1');        
        
        $result = $tblCronograma->fetchRow($slcCronograma);

        return !empty($result) ? $result->toArray() : array();
    }
    
    
    /**
     * Salva informações do cronograma no base de dados.
     * -- Não faz validação
     * 
     * @param {array} [$data]
     * @return {array} [$result]
     */
    public function salvarCronograma($data) 
    {
        try {
            $tbl = new Remanejamento_Model_DbTable_Remanejamento_Cronogramas();
            $row = $tbl->createRow($data);
            $row->save();
            
            
            $result = array('type'    => 'success', 
                            'result'  => true,
                            'message' => 'O cronograma foi salvo com sucesso.'); 
            
        } catch (Exception $exc) {
            $result = array('type'    => 'erro', 
                            'result'  => false,
                            'erro'    => $exc->getTraceAsString(),
                            'message' => 'Houve um problema interno e não foi possível salvar as informações do cronograma.'); 
        }
        
        return $result;
    }
}